//用户传入参数 则会被解构 获取传入的参数 如果用户没有传入参数
// 这样也会给title等几个参数设置默认值
// 模块化的方式 用export 使用则import
const toast = ({ title = '数据加载中', icon = 'none', duration = 2000, mask = true } = {}) => {
  wx.showToast({
    title,
    icon,
    duration,
    mask
  })
}

const modal = (option = {}) => {
  return new Promise((resolve) => {
    const defaultOpt = {
      title: '提示',
      content: '您确认执行该操作吗?',
      confirmColor: '#f3514f'
    }
    // 使用Object.assign进行对象合并
    const opts = Object.assign({}, defaultOpt, option)
    wx.showModal({
      ...opts, //展开运算符
      // 不管用户是取消还是确定都会执行
      complete({ cancel, confirm }) {
        confirm && resolve(true) //如果confirm为true 则会执行resolve 返回一个true
        cancel && resolve(false)
      }
    })
  })
}
// 将toast方法挂载到wx全局对象上
wx.toast = toast
wx.modal = modal
export { toast, modal }
